package com.zc.blog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zc.blog.model.Article;
import com.zc.blog.model.PageBean;
import com.zc.blog.model.Tag;

import java.util.List;

public interface IArticleService extends IService<Article> {

    Article findById(Integer id);

    //查询所有文章
    List<Article> listAll(Integer page, Integer pageSize,String query);

    //根据类别分页查询文章
    List<Article> listCategoryArticles(Integer page, Integer pageSize, String query,Integer categoryId);

    //根据标签分页查询文章
    List<Article> listTagArticles(Integer page, Integer pageSize, String query,Integer tagId);

    //获取所有文章数
    Integer getTotal(String query);

    //根据类别获取分页文章数
    Integer getCategoryArticlesTotal(String query,Integer categoryId);

    //根据标签获取文章数
    Integer getTagArticlesTotal(String query,Integer tagId);

    //根据标签id获取所有文章
    List<Tag> findArticlesByTagId(Integer tagId);

    //查询轮播图文章
    List<Article> findArticlesBySlider();

    //根据id修改添加点击量
    void incrementClick(Integer id);

    //获取指定的热门数
    List<Article> findHotArticles();

    //根据类别Id 找文章
    List<Article> findArticlesByCategoryId(Integer categoryId);
}
